package com.jair.apicommon.service;

import com.jair.apicommon.model.InterfaceResponse;
import com.jair.apicommon.model.dto.InterfaceRequest;
import java.util.List;

public interface InterfaceInvokeService {
    /**
     * 基础接口调用
     */
    InterfaceResponse invokeInterface(String name, String method, String params);

    /**
     * 带认证的接口调用
     */
    InterfaceResponse invokeInterfaceWithAuth(String name, String method, String params,
                                              String accessKey, String secretKey);

    /**
     * 批量调用接口
     */
    List<InterfaceResponse> batchInvoke(List<InterfaceRequest> requests);

    /**
     * 获取接口调用统计
     */
    Long getInvokeCount(String interfaceName);

    /**
     * 健康检查
     */
    String healthCheck();

    /**
     * 获取调用方式信息
     */
    String getInvokeMethod();
}